const express = require("express");
const app = express();
const router = require("./router.js");
const bodyParser = require("body-parser");
const cors = require("cors");
const { swaggerUi, swaggerSpec } = require('./swagger');

// 中间件配置
app.use(cors());
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({
    extended: true
}));

// Swagger 文档路由
const swaggerOptions = {
    swaggerOptions: {
        defaultModelsExpandDepth: -1,  // 隐藏 Schemas 部分
        docExpansion: 'none'           // 默认折叠所有接口
    }
};
app.use('/api-docs', swaggerUi.serve, swaggerUi.setup(swaggerSpec, swaggerOptions));

// API 路由
app.use("/api", router);

// 静态文件服务
app.use(express.static("upload"));

// 根路径重定向到 API 文档
app.get('/', (req, res) => {
    res.redirect('/api-docs');
});

app.listen(3030, () => {
    console.log("🚀 服务器运行在3000端口上");
    console.log("📖 API文档地址: http://localhost:3030/api-docs");
    console.log("🔗 API基础地址: http://localhost:3030/api");
});